/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tools.conections.ssh;

import com.jcraft.jsch.*;

/**
 * @author Félix Marín Ramírez || felixmurcia@gmail.com
 * @version 1.0.1b
 */
public class ConexionSSH {

    private static JSch jsch;

    public ConexionSSH(String host, String usuario, String pass) {
        jsch = new JSch();
        // Es necesario capturar JSchException
        try {

            // NO realizar revision estricta de llaves
            JSch.setConfig("StrictHostKeyChecking", "no");

            // Creamos la nueva sesion SSH
            Session sesion = jsch.getSession(usuario, host);

            // Establecemos la clave
            sesion.setPassword(pass);

            // Conectamos la sesion
            sesion.connect();

            // Obtenemos un nuevo canal para enviar/recibir comandos
            // de consola
            ChannelShell consola = (ChannelShell) sesion.openChannel("shell");

            // Utilizamos la entrada y salida estándar del sistema
            // para recibir comandos y desplegar el resultado
            consola.setInputStream(System.in);
            consola.setOutputStream(System.out);

            // Conectamos nuestro canal
            consola.connect();
        } catch (JSchException e) {
            System.out.println("Error de JSCH. Mensaje: " + e.getMessage());
        }
    }

//  public static void main(String args[]) {
//      String host = PanelGUI.pregunta("Inserte la direcección del servidor");
//      String usuario = PanelGUI.pregunta("Inserte el nombre de usuario");
//      String pass = PanelGUI.contraseña();
//    new ConexionSSH(host,usuario,pass);
//  }
}
